package com.lain.common.utils;

import org.springframework.util.ObjectUtils;

import java.util.List;
import java.util.Map;

public class ValidationUtil {
    /**
     * 字符串是否为空
     * @param str
     * @return
     */
    public static boolean isBlank(String str){
        if(str == null || str.trim().equals("") || str.trim().equals("null")){
            return true;
        } else {
            return false;
        }
    }

    /**
     * 字符串是否不为空
     * @param str
     * @return
     */
    public static boolean isNotBlank(String str){
        if(str != null && !str.trim().equals("") && !str.trim().equals("null")){
            return true;
        } else {
            return false;
        }
    }

    public static boolean isNotNull(Object obj) {
        if(!ObjectUtils.isEmpty(obj)){
            return true;
        } else {
            return false;
        }
    }

    public static boolean isNull(Object obj) {
        if(ObjectUtils.isEmpty(obj)){
            return true;
        } else {
            return false;
        }
    }

    public static boolean isEmptyList(List list){
        if(list == null || list.isEmpty()){
            return true;
        } else {
            return false;
        }
    }

    public static boolean isNotEmptyList(List list){
        if(list != null && !list.isEmpty()){
            return true;
        } else {
            return false;
        }
    }

    public static boolean isEmptyMap(Map map){
        if(map == null || map.isEmpty()){
            return true;
        } else {
            return false;
        }
    }

    public static boolean isNotEmptyMap(Map map){
        if(map != null && !map.isEmpty()){
            return true;
        } else {
            return false;
        }
    }

    /**
     * 判断obj作为字符串长度是否超过50，如果超过50，则截取0~49前50个字符串返回，如果没有超过50，则返回原来的值
     * @param obj
     * @return
     */
    public static Object busValidStringLength(Object obj) {
        return isNotBlank(String.valueOf(obj)) && String.valueOf(obj).length() >= 50 ? String.valueOf(obj).substring(0,49) : obj;
    }

}
